Skip to content

Enforcement-core hardening (#41), stacked on the cleanup bundle#51

Merged
davidcrowe merged 1 commit into
mainfrom
fix/enforcement-on-cleanup
Jul 24, 2026
Merged

Enforcement-core hardening (#41), stacked on the cleanup bundle#51
davidcrowe merged 1 commit into
mainfrom
fix/enforcement-on-cleanup

Conversation

@davidcrowe

Copy link
Copy Markdown
Collaborator

Enforcement-core hardening (#41/#46), stacked cleanly on the cleanup bundle so it merges conflict-free right after it. Base is chore/oss-cleanup-integration; it will retarget to main once the bundle merges.

Same content as #46, re-integrated on top of the cleanup so there are no lockfile / package.json conflicts to hand-resolve, and kept as its own reviewable PR (a security change should not be buried in a docs/hygiene bundle).

Fixes across validatabl / limitabl / identifiabl / explicabl:

  • validatabl-core: schema-absent fail-open → deny; hasScope regex-injection → exact token match; policy widening (matches unanchored, in coercion, empty-conditions) closed.
  • limitabl: agent guard opt-out → deny when configured but no key; server-derived workflow key; TTL sweep; per-invocation engine (no shared singleton).
  • identifiabl-core: require exp; reject empty issuer/audience at factory.
  • explicabl: audit identity from the ALS context (+ warn-once); call the auth0 webhook factory (was a dead, hanging mount); emit audit on client-abort (fired-once).
  • Removes 16 stale compiled .js/.d.ts artifacts committed inside src/ that shadowed these fixes.

Verification

Stacked on the bundle: npm ci && npm run build clean · full suite 228 tests green (30 new, incl. real-crypto JWT round-trips) · no compiled artifacts remain under any src/.

Versions intentionally not bumped — publish/versioning is your OTP step; coordinate the explicabl bump with #37 (already folded into the bundle).

Fail-open and policy-widening fixes across validatabl / limitabl /
identifiabl / explicabl, plus removal of 16 stale compiled artifacts
committed under src/. Rebased cleanly onto the merged cleanup (#50).

- validatabl-core: schema-absent fail-open -> deny; hasScope regex-injection
  -> exact token match; policy widening (unanchored matches, in coercion,
  empty-conditions) closed.
- limitabl: agent guard opt-out -> deny when configured but no key;
  server-derived workflow key; TTL sweep; per-invocation engine.
- identifiabl-core: require exp; reject empty issuer/audience at factory.
- explicabl: audit identity from ALS context (+warn-once); call the auth0
  webhook factory (was dead/hanging); emit audit on client-abort.

228 tests green (30 new, incl. real-crypto JWT round-trips); build clean.
@davidcrowe
davidcrowe force-pushed the fix/enforcement-on-cleanup branch from 767a8fe to ccd9098 Compare July 24, 2026 04:24
@davidcrowe
davidcrowe changed the base branch from chore/oss-cleanup-integration to main July 24, 2026 04:24
@davidcrowe
davidcrowe merged commit 176316d into main Jul 24, 2026
1 check passed
@davidcrowe
davidcrowe deleted the fix/enforcement-on-cleanup branch July 24, 2026 04:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant